<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>组件的嵌套</title>
		<script type="text/javascript" src="../js/vue.js"></script>
	</head>
	<body>
		<!-- 准备好一个容器-->
		<div id="root" >
			<!-- 放置组件 组件标签-->
            <!-- <app></app> -->
            <hr>
		</div>
	</body>
	
	<script type="text/javascript">
			Vue.config.productionTip=false;
            const student = Vue.extend({
                template:`
               <div>
                <h2>
                学校姓名:{{studentName}}
                </h2>
                <h2>
                    学校地址:{{age}}
                </h2>
               
                </div>
               `, 
               data(){
                    return {
                        studentName:'张三',
                        age:18
                    }
                }
            })

        
            // 创建school 组件
            const school = Vue.extend({
               // el:"#root", 组件定义一定不要写el配置项，组件的意义需要配合vm使用
               template:`
               <div>
                <h2>
                学校名称:{{schoolName}}
                </h2>
                <h2>
                    学校地址:{{address}}
                </h2>
                <!--要在哪里用，就在哪里注册，组件的嵌套-->
                <student></student>
                </div>
               `, 
               data(){
                    
                    return {
                        schoolName:'三三',
                        address:'北京北京',
                    }
                },
                // 嵌套组件
                components:{
                    student
                }
            })

            // vm -> app -> 管理众多组件
            const app = Vue.extend({
                template:`
                    <school></school>
                `,
                components:{
                    school:school,// key value形式
                }
            })

            // 对于vm ，只管理app这一个组件
			new Vue({
                el:"#root",
                template:`<app></app>`,
                // 注册组件（局部注册）
                components:{
                   app
                }
            })
	</script>
</html>
